Selene Shepard поделилась ссылкой
28 марта, 14:14
#12049: Яркие краски в унылой консольке
Сижу на проекте коллеги. Вот несколько правил, которыми он руководствовался.

Если используете AJAX, никогда не забывайте формировать весь HTML и все биндинги на стороне сервера. Зачем передавать данные, если можно передать HTML?

Чтобы удобнее, например, реализовать галерею, сразу сформируйте HTML с инлайновыми джаваскриптовыми функциями goNext(), goBack(), closeGallery(). Куда же положить эти функции? Конечно ж, в глобал скоуп. «А что вообще можно класть в глобал скоуп?» — спросите вы. Конечно, всё. Всё, всё, всё и ещё раз всё. Зачем загружать себя модулями, низкой связанностью? Это всё брехня бюрократов и неталантливых сыщиков. Вообще все функции и переменные положим в один файл, чтобы «удобно» там было потом найти что-то. И вообще, классно ведь — один файл вместо тысячи, правда?

Для повышения крутости в инлайн-JS в HTML можно добавить несколькострочный код, что-нибудь из jQuery тоже пойдёт. Например, по DOM’у шариться через инлайн-JS — просто сказка!

Если вы делаете одностраничное приложение, то всё-таки придется реализовать историю. Но не печальтесь, не надо, это просто. Главное, не забудьте одно важное правило: проверки данных ставить нигде не надо. И ничего, что если перейти по ссылке на страницу и затем нажать «назад», ни черта не произойдёт. Всё же правильно работает, в хистори положить нечего, красненькие строчки в консоли JS об этом говорят.

Насчёт красных строчек: это же классно! Зачем делать мир чёрно-белым? Красные сообщения в консоли — это же прелесть, это красиво и разнообразно. Они никак не свидетельствуют о том, что что-то может идти не так. Они, как цветы на полянке в лесу, лишь украшают унылую консольку.

И напоследок: зачем использовать объекты JS? Всё же прекрасно хранится в дивах. HTML — это ж XML, так что вполне сойдёт для хранения данных. Просто ставишь display: none — и делов-то!